﻿#region

using System;

#endregion

namespace BuildMotion.MotionTracker.Common
{
    /// <summary>
    /// Use this class to store information about a campaign.  
    /// </summary>
    public class Campaign
    {
        private Guid campaignId;
        private CampaignStatus campaignStatus;
        private CampaignType campaignType;
        private Guid createdBy;
        private DateTime dateCreated;
        private DateTime dateModified;
        private string description;
        private DateTime endDate;
        private Guid modifiedBy;
        private string name;
        private DateTime startDate;

        /// <summary>
        /// Gets or sets the campaign id.
        /// </summary>
        /// <value>The campaign id.</value>
        public Guid CampaignId
        {
            get { return campaignId; }
            set { campaignId = value; }
        }

        /// <summary>
        /// Gets or sets the name.
        /// </summary>
        /// <value>The name.</value>
        public string Name
        {
            get { return name; }
            set { name = value; }
        }

        /// <summary>
        /// Gets or sets the description.
        /// </summary>
        /// <value>The description.</value>
        public string Description
        {
            get { return description; }
            set { description = value; }
        }

        /// <summary>
        /// Gets or sets the start date.
        /// </summary>
        /// <value>The start date.</value>
        public DateTime StartDate
        {
            get { return startDate; }
            set { startDate = value; }
        }

        /// <summary>
        /// Gets or sets the end date.
        /// </summary>
        /// <value>The end date.</value>
        public DateTime EndDate
        {
            get { return endDate; }
            set { endDate = value; }
        }

        /// <summary>
        /// Gets or sets the type of the campaign.
        /// </summary>
        /// <value>The type of the campaign.</value>
        public CampaignType CampaignType
        {
            get { return campaignType; }
            set { campaignType = value; }
        }

        /// <summary>
        /// Gets or sets the campaign status.
        /// </summary>
        /// <value>The campaign status.</value>
        public CampaignStatus CampaignStatus
        {
            get { return campaignStatus; }
            set { campaignStatus = value; }
        }

        /// <summary>
        /// Gets or sets the date created.
        /// </summary>
        /// <value>The date created.</value>
        public DateTime DateCreated
        {
            get { return dateCreated; }
            set { dateCreated = value; }
        }

        /// <summary>
        /// Gets or sets the date modified.
        /// </summary>
        /// <value>The date modified.</value>
        public DateTime DateModified
        {
            get { return dateModified; }
            set { dateModified = value; }
        }

        /// <summary>
        /// Gets or sets the modified by.
        /// </summary>
        /// <value>The modified by.</value>
        public Guid ModifiedBy
        {
            get { return modifiedBy; }
            set { modifiedBy = value; }
        }

        /// <summary>
        /// Gets or sets the created by.
        /// </summary>
        /// <value>The created by.</value>
        public Guid CreatedBy
        {
            get { return createdBy; }
            set { createdBy = value; }
        }
    }
}